Apache Ant একটি শক্তিশালী বিল্ড টুল যা Java প্রোজেক্টগুলির বিল্ড প্রক্রিয়াকে অটোমেট করার জন্য ব্যবহৃত হয়। JAR (Java ARchive) ফাইল তৈরি করার জন্য অ্যাপাচি অ্যান্ট <jar>
টাস্ক ব্যবহার করতে দেয়, যা Java ক্লাস ফাইল এবং অন্যান্য রিসোর্স ফাইল (যেমন, ইমেজ, কনফিগারেশন ফাইল) একত্রিত করে একটি JAR ফাইল তৈরি করে। JAR ফাইল একটি আর্কাইভ ফাইল, যা Java অ্যাপ্লিকেশন বা লাইব্রেরি বিতরণ এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়।
এই টাস্কের মাধ্যমে আপনি Java ক্লাস ফাইল, রিসোর্স ফাইল, ম্যানিফেস্ট ফাইল ইত্যাদি যোগ করে একটি JAR ফাইল তৈরি করতে পারবেন, যা Java অ্যাপ্লিকেশন বা লাইব্রেরির প্যাকেজিংয়ের জন্য প্রয়োজন।
<jar>
Task: Overview<jar>
টাস্কটি মূলত src
ডিরেক্টরি থেকে Java ক্লাস ফাইল এবং অন্যান্য রিসোর্স ফাইল সংগ্রহ করে এবং সেগুলোকে একটি JAR ফাইলে প্যাকেজ করে। আপনি এর মধ্যে ম্যানিফেস্ট ফাইল, ডিপেন্ডেন্সি এবং অন্যান্য ফাইলও অন্তর্ভুক্ত করতে পারেন।
<jar>
Task এর সিনট্যাক্স<jar destfile="output.jar" basedir="src_directory">
<manifest>
<attribute name="Main-Class" value="com.example.Main"/>
</manifest>
</jar>
destfile
: এটি JAR ফাইলের গন্তব্য পাথ এবং ফাইল নাম। এই ফাইলটি তৈরি হবে।basedir
: এটি সেই ডিরেক্টরি যেখানে আপনি JAR ফাইল তৈরি করতে চান, সাধারণত এটি প্রোজেক্টের ক্লাস ফাইলের ডিরেক্টরি।manifest
: এটি JAR ফাইলে একটি কাস্টম ম্যানিফেস্ট অ্যাট্রিবিউট যোগ করার জন্য ব্যবহৃত হয়, যেমন মেইন ক্লাস।fileset
: এটি একটি ফাইল সেট সংজ্ঞায়িত করতে ব্যবহৃত হয়, যা JAR ফাইলে অন্তর্ভুক্ত করতে হবে।এখানে একটি সহজ উদাহরণ দেওয়া হল যেখানে <jar>
টাস্ক ব্যবহার করে JAR ফাইল তৈরি করা হচ্ছে:
<project name="JarExample" default="create-jar">
<target name="create-jar">
<!-- Create a JAR file from classes in the src directory -->
<jar destfile="output.jar" basedir="classes"/>
</target>
</project>
এখানে:
destfile="output.jar"
: এটি তৈরি করা JAR ফাইলের নাম এবং পাথ।basedir="classes"
: এটি "classes" ডিরেক্টরির সমস্ত ফাইলের জন্য JAR ফাইল তৈরি করবে।এখানে একটি উদাহরণ দেওয়া হচ্ছে যেখানে Main-Class ম্যানিফেস্ট অ্যাট্রিবিউট সহ একটি JAR ফাইল তৈরি করা হচ্ছে:
<project name="JarWithMainClass" default="create-jar">
<target name="create-jar">
<!-- Create a JAR file with Main-Class attribute -->
<jar destfile="myapp.jar" basedir="classes">
<manifest>
<attribute name="Main-Class" value="com.example.Main"/>
</manifest>
</jar>
</target>
</project>
এখানে:
<manifest>
ট্যাগটি একটি কাস্টম ম্যানিফেস্ট অ্যাট্রিবিউট তৈরি করে।Main-Class
অ্যাট্রিবিউটের মাধ্যমে এটি নির্দেশ করে যে com.example.Main
ক্লাসটি JAR ফাইলের Main-Class।ধরা যাক আপনি ক্লাস ফাইলের পাশাপাশি কিছু রিসোর্স ফাইলও JAR ফাইলে অন্তর্ভুক্ত করতে চান। এর জন্য আপনি <fileset>
টাস্ক ব্যবহার করতে পারেন।
<project name="JarWithResources" default="create-jar">
<target name="create-jar">
<!-- Create a JAR file with class files and resources -->
<jar destfile="myapp.jar" basedir="build">
<fileset dir="resources"/>
</jar>
</target>
</project>
এখানে:
basedir="build"
: এটি "build" ডিরেক্টরি থেকে ক্লাস ফাইলগুলো জোগাড় করবে।<fileset dir="resources"/>
: "resources" ডিরেক্টরি থেকে ফাইলগুলিকে JAR ফাইলে অন্তর্ভুক্ত করবে।যদি আপনি JAR ফাইলে কিছু ফাইল অন্তর্ভুক্ত না করতে চান, তবে <exclude>
অথবা <include>
অ্যাট্রিবিউট ব্যবহার করে আপনি নির্দিষ্ট ফাইল বাদ দিতে বা অন্তর্ভুক্ত করতে পারেন।
<project name="ExcludeExample" default="create-jar">
<target name="create-jar">
<!-- Create a JAR file, excluding .java files -->
<jar destfile="myapp.jar" basedir="classes">
<fileset dir="classes">
<exclude name="**/*.java"/>
</fileset>
</jar>
</target>
</project>
এখানে:
<exclude name="**/*.java"/>
: এটি JAR ফাইল থেকে .java
ফাইলগুলো বাদ দিচ্ছে।<jar>
TaskMain-Class
Attribute:fileset
for Specific File Inclusion:<fileset>
টাস্ক ব্যবহার করে নির্দিষ্ট ফাইল বা ফোল্ডারগুলি অন্তর্ভুক্ত করুন, যাতে JAR ফাইলটি আরও সুসংগঠিত এবং কার্যকরী হয়।<jar>
টাস্ক অ্যাপাচি অ্যান্ট বিল্ড সিস্টেমের একটি গুরুত্বপূর্ণ টাস্ক, যা Java ক্লাস ফাইল এবং রিসোর্স ফাইলকে একটি JAR ফাইলে আর্কাইভ করতে ব্যবহৃত হয়। এটি Main-Class অ্যাট্রিবিউট, resource inclusion, file exclusion ইত্যাদি কাস্টমাইজেশন সমর্থন করে। JAR ফাইল তৈরি করার জন্য Ant এর এই টাস্কটি ব্যবহৃত হয়, যা ডিপ্লয়মেন্ট, লাইব্রেরি শেয়ারিং এবং সফটওয়্যার প্যাকেজিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ।
common.read_more